As the computing power of mobile devices increase more sophisticated applications can be developed to utilize these resources. Typically a provider of such a mobile device may want to protect the device from attackers that try and obtain digital rights management keys or device keys. One way to secure the device is to ‘close’ the mobile device, e.g., manufacture the device in such a way as to only allow a certain type of hardware and proprietary closed source software. By closing the mobile device the provider can provide some level of security by making it more likely than not that only approved code and hardware is used in the device.
While closing the mobile device may make it more difficult for an attacker to compromise the device, a provider may want to allow third parties to have some ability to develop applications. A provider may allow for some third party code to execute on a closed mobile device by providing a sandbox that verifies third party code at runtime, or by configuring the operating system of the device to segregate third party code from kernel mode code. While these techniques exist, there is a need for alternative techniques that can augment or supplement the typical security measures that require less computational power from the mobile device and enable the provider to have more control over how third party code is treated by the device.